package cn.smart.epic.common.persistence.dao;

import cn.smart.epic.common.persistence.model.User;
import cn.smart.epic.core.datascope.DataScope;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @Auther Uncle_Z
 * @date 2017/9/6 22:07
 * @Email:2545375@qq.com
 * @Descrition
 * @since 1.0
 */

public interface UserMapper extends Mapper<User> {

    /**
     * 修改用户状态
     *
     * @param userId
     * @param status
     * @return
     */
    int setStatus(@Param("userId") int userId, @Param("status") int status);


    /**
     * 修改密码
     * @param userId
     * @param pwd
     * @return
     */
    int changePwd(@Param("userId") int userId, @Param("pwd") String pwd);


    /**
     *
     * @param dataScope
     * @param name
     * @param beginTime
     * @param endTile
     * @param detid
     * @return
     */
    List<Map<String,Object>> selectUsers(@Param("dataScope")DataScope dataScope, @Param("name")String name,
                                         @Param("beginTime")String beginTime,@Param("endTime")String endTile,
                                         @Param("deptid")Integer detid);


    /**
     * 设置用户的角色
     *
     * @return
     * @date 2017年2月13日 下午7:31:30
     */
    int setRoles(@Param("userId") Integer userId, @Param("roleIds") String roleIds);

    /**
     * 通过账号获取用户
     *
     * @param account
     * @return
     * @date 2017年2月17日 下午11:07:46
     */
    User getByAccount(@Param("account") String account);
}
